package br.com.ava.view.editora;

import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;

import br.com.ava.core.editora.Editora;
import br.com.ava.core.editora.EditoraMediator;
import br.com.ava.core.infra.excecao.NegocioException;
import br.com.ava.view.AplicacaoMB;

@ManagedBean
public class EditoraIncluirMB extends AplicacaoMB {

	private Editora editora;

	@ManagedProperty(value = "#{editoraMediator}")
	private EditoraMediator editoraMediator;

	public EditoraIncluirMB() {
		this.editora = new Editora();
	}

	@PostConstruct
	public void init() {
		validarPermissao();
	}

	public void confirmar() throws IOException {

		try {
			editoraMediator.salvar(editora);
			adicionarMensagemCadastroSucesso();
			editora = new Editora();
		} catch (NegocioException erro) {
			adicionarMensagemErro(erro.getMensagens());
		}
	}

	public Editora getEditora() {
		return editora;
	}

	public void setEditora(Editora editora) {
		this.editora = editora;
	}

	public EditoraMediator getEditoraMediator() {
		return editoraMediator;
	}

	public void setEditoraMediator(EditoraMediator editoraMediator) {
		this.editoraMediator = editoraMediator;
	}

	@Override
	public String perfilPagina() {
		return "funcionario";
	}

}
